Determining context of a mobile computer

ABSTRACT

A mobile computer may determine it is located in a vehicle or a conveyance based on a measured distance and satellite related positioning information.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/628,946 filed Feb. 23, 2015, which is a continuation of U.S. patentapplication Ser. No. 14/460,591 filed Aug. 15, 2014, which issued asU.S. Pat. No. 9,116,230 on Aug. 25, 2015, which is a continuation ofU.S. patent application Ser. No. 13/776,643 filed Feb. 25, 2013, whichissued as U.S. Pat. No. 8,842,496 on Sep. 23, 2014, which is acontinuation of U.S. patent application Ser. No. 13/412,317 filed Mar.5, 2012, which issued as U.S. Pat. No. 8,395,968 on Mar. 12, 2013, whichis a continuation of U.S. patent application Ser. No. 12/900,951 filedOct. 8, 2010, which issued as U.S. Pat. No. 8,174,931 on May 8, 2012,the contents of which are all hereby incorporated by reference herein asif fully set forth.

This application is related to U.S. patent application Ser. No.13/463,538 filed May 3, 2012, which issued as U.S. Pat. No. 8,284,100 onOct. 9, 2012, and to U.S. patent application Ser. No. 14/611,222 filedJan. 31, 2015. This application is also related to U.S. patentapplication Ser. No. 14/619,600 filed Feb. 11, 2015.

FIELD OF INVENTION

This application relates to indoor location or position determination.In particular, it relates to providing indoor location or positiondetermination of object devices using building information and/orpowerlines.

BACKGROUND

Location determination systems, such as the global positioning system(GPS), have provided the ability to find and track location of objectdevices enabling new applications like location based services (LBS).Although fairly accurate outdoors, many location determination systemscannot detect when an object device is indoors, accurately track objectsindoors, or determine if an object device is in a vehicle or conveyance.It is desirable to detect or track object devices indoors forapplications such as safety, e-business, gaming, directions, or thelike.

Solutions have been proposed for locating object devices indoorsinvolving beacons, transponders, and/powerlines. However, these systemsrequire the installation of a plurality of devices or indoor basestations in order to work and require complicated additional hardware inthe object device. It desirable to locate an object device indoorswithout the need for much added hardware or complexity.

SUMMARY

An apparatus and method for providing indoor detection, location,position, or track determination of object devices using buildinginformation and/or powerlines. An object device may determine thedimensions of the interior of a building and compare it to knowninformation about the dimensions of the building to determine that it'sindoors and/or also determine its exact location or position in thebuilding. An object device may also determine dimensions in an enclosurein order to identify if it is in an automobile, aircraft, or any otherconveyance.

BRIEF DESCRIPTION OF THE DRAWINGS

A more detailed understanding may be had from the following description,given by way of example in conjunction with the accompanying drawingswherein:

FIG. 1 is a diagram of an object device that may detected, located,positioned, or tracked indoors or in a conveyance;

FIG. 2 is a diagram of detecting, locating, positioning, or tracking anobject device indoors using powerlines;

FIG. 3 is a process for detecting, locating, positioning, or tracking anobject device indoors using powerlines;

FIG. 4 is a diagram of detecting, locating, positioning, or tracking anobject device indoors or in a conveyance using emitted or transmittedsignals; and

FIG. 5 is a process for detecting, locating, positioning, or tracking anobject device indoors using emitted or transmitted signals.

DETAILED DESCRIPTION

The present invention will be described with reference to the drawingfigures wherein like numerals represent like elements throughout. Forthe processes described below the steps recited may be performed out ofsequence and sub-steps not explicitly described or shown may beperformed. In addition, “coupled” or “operatively coupled” may mean thatobjects are linked between zero or more intermediate objects. Also, anycombination of the disclosed features/elements may be used in one ormore embodiments. When using referring to “A or B”, it may include A, B,or A and B, which may be extended similarly to longer lists.

In the embodiments provided below, indoor location or position within abuilding may be determined using signals that may be received fromendpoints, such as an outlet, by an object device. In addition orcombination, an object device may emit signals, such as ultrasound, todetermine the dimensions of a room in a building to subsequentlydetermine indoor location or position.

FIG. 1 is a diagram of an object device 100 that may be detected,located, positioned, or tracked indoors or in a conveyance. Objectdevice may be configured as a wireless subscriber unit, user equipment(UE), mobile station, smartphone, pager, mobile computer, cellulartelephone, telephone, personal digital assistant (PDA), computingdevice, surface computer, tablet computer, monitor, general display,versatile device, appliance, automobile computer system, vehiclecomputer system, television device, a laptop, a netbook, a tabletcomputer, a personal computer, a wireless sensor, an Internet pad, adigital music player, a peripheral, virtual reality glasses, a mediaplayer, a video game device, or the like for mobile or fixedapplications. Any of devices, controllers, displays, components, etc.,in object device 100 may be combined, made integral, or separated, asdesired.

Object device 100 comprises computer bus 140 that couples at least oneor more processors 102, one or more interface controllers 104, memory106 having software 108, storage device 110, power source 112, and/orone or more displays controller 120. One or more processors 102 may be ageneral purpose processor, a special purpose processor, a conventionalprocessor, a digital signal processor (DSP), a plurality ofmicroprocessors, one or more microprocessors in association with a DSPcore, a controller, a microcontroller, single core processor, amulti-core processor, Application Specific Integrated Circuits (ASICs),Field Programmable Gate Array (FPGAs) circuits, any other type ofintegrated circuit (IC), or the like.

One or more display devices 122 may be configured as a liquid crystaldisplay (LCD), light emitting diode (LED) display, field emissiondisplay (FED), organic light emitting diode (OLED) display, flexibleOLED display, or the like. The one or more display devices 122 may beconfigured, manufactured, produced, or assembled based on thedescriptions provided in US Patent Publication Nos. 2007-247422,2007-139391, 2007-085838, or 2006-096392 or U.S. Pat. No. 7,050,835 orWO Publication 2007-012899 all herein incorporated by reference as iffully set forth.

In the case of a flexible display device, the one or more electronicdisplay devices 122 may be configured and assembled using organic lightemitting diodes (OLED), liquid crystal displays using flexible substratetechnology, flexible transistors, field emission displays (FED) usingflexible substrate technology, or the like. One or more display devices122 may be configured as a touch or multitouch screen display usingresistive, capacitive, surface-acoustic wave (SAW) capacitive, infrared,strain gauge, optical imaging, dispersive signal technology, acousticpulse recognition, frustrated total internal reflection ormagneto-strictive technology, as understood by one of ordinary skill inthe art.

Coupled to computer bus 140 are one or more input/output (I/O)controller 116, I/O devices 118, Global Navigation Satellite Systems(GNSS) device 114, one or more network adapters 128, and/or one or moreantennas 130. Examples of I/O devices include a speaker, microphone,keyboard, keypad, touchpad, display, touchscreen, wireless gesturedevice, a digital camera, a digital video recorder, a vibration device,or the like.

Object device 100 may have one or more motion, proximity, light,optical, chemical, environmental, moisture, acoustic, heat, temperature,radio frequency identification (RFID), biometric, face recognition,image, photo, or voice recognition sensors 126 and touch detectors 124for detecting any touch inputs, including multi-touch inputs, for one ormore display devices 122. Sensors 126 may also be an accelerometer, ane-compass, gyroscope, a 3D gyroscope, or the like. One or more interfacecontrollers 104 may communicate with touch detectors 124 and I/Ocontroller 116 for determining user inputs to object device 100. Coupledto one or more display devices 122 may be pressure sensors 123 fordetecting presses on one or more display devices 122.

Still referring to object device 100, storage device 110 may be any diskbased or solid state memory device for storing data. Power source 112may be a plug-in, battery, fuel cells, solar panels for receiving andstoring solar energy, or a device for receiving and storing wirelesspower as described in U.S. Pat. No. 7,027,311 herein incorporated byreference as if fully set forth.

One or more network adapters 128 may be configured as a FrequencyDivision Multiple Access (FDMA), single carrier FDMA (SC-FDMA), TimeDivision Multiple Access (TDMA), Code Division Multiple Access (CDMA),Orthogonal Frequency-Division Multiplexing (OFDM), OrthogonalFrequency-Division Multiple Access (OFDMA), Global System for Mobile(GSM) communications, Interim Standard 95 (IS-95), IS-856, Enhanced Datarates for GSM Evolution (EDGE), General Packet Radio Service (GPRS),Universal Mobile Telecommunications System (UMTS), cdma2000, widebandCDMA (W-CDMA), High-Speed Downlink Packet Access (HSDPA), High-SpeedUplink Packet Access (HSUPA), High-Speed Packet Access (HSPA), EvolvedHSPA (HSPA+), long term evolution (LTE), LTE Advanced (LTE-A), 802.11x,Wi-Fi, Zigbee, Ultra-WideBand (UWB), 802.16x, 802.15, Wi-Max, mobileWi-Max, Bluetooth, radio frequency identification, Infrared DataAssociation (IrDA), or any other wireless or wired transceiver formodulating and demodulating signals via one or more antennas 130.

Object device 100 may include ultrasound transducers anddetectors/sensors 121 that emits or transmits one or more ultrasoundsignals and detects ultrasound signal reflections of emitted ortransmitted ultrasound signals. Ultrasound transducers and detectors 121may also detect any ultrasound signals emitted or transmitted by otherultrasound transducers, such as in another object device. Ultrasoundtransducers and detectors 121 may comprise a single transducer anddetector or a plurality of transducers and detectors, such as in anarray. Ultrasound transducers and detectors 121 may be an add-on,attachment, accessory, or peripheral coupled to object device 100 usinga wired or wireless communication link, such as universal serial bus(USB), Bluetooth, or Wi-Fi.

FIG. 2 is a diagram of detecting, locating, positioning, or tracking anobject device indoors using powerlines. In powerline location servicesobject determination, object device 202 may be configured with at leastsome of the circuitry described in FIG. 1 and may initially be outsideor exterior to building 201. Via local or Internet communication link204, object device 202 may receive building information from locationunit 206. Location unit 206 is a device coupled to a circuit breakerbox, junction box, or a common electrical outlet 208 and/or powerlines,electrical wire, or electric cable 216 in room 3. Alternatively, objectdevice 202 may already have building information stored in storagedevice 110 for building 201.

Location unit 206 may receive over communication link 210 and network211, information about building 201 from at least one or more servers212. At least one or more servers 212 may be collocated or distributedover multiple locations in a computer network, such as the Internet.Receiving information about building 201 may be done during aninitialization process where the geographic location of circuit breaker,junction box, or outlet 208 is provided to location unit 206, such as byprogramming by a user or over the air (OTA) programming by at least oneor more servers 212. Alternatively, location unit 206 may have a GNSS,GPS, or a cell tower based location device to determine its initialposition. Network 211 may include both wired and wireless networks.

Information about building 201 may include the number floors, the numberof rooms, architectural plans, architectural schematics, 3D roomdimensions, 3D (e.g. width, length, height) estimated room dimensions,2D (e.g., width and length) room dimensions, 2D estimated roomdimensions, room volumes, space volumes, room areas, space areas, simpleroom layouts (e.g., width and length), room geometry, floorplans,building models, site plans, site surveys, or the like. Building 201 maybe an abode, apartment, house, mall, warehouse, commercial building,office, cabin, condo, condominium, domicile, dormitory, dwelling,hospital, house, residence, shelter, enclosure, or the like.

Alternatively, location unit 206 may determine the dimensions andcharacteristics of building 201 using an initialization orfingerprinting process where a training signal, special signal, orbeacon is communicated over powerlines electrical wire, or electriccable 216 to determine the distance to endpoints 218 ₁, 218 ₂, 218 ₃,222 ₁, 222 ₂, or 222 ₃. The training signal, special signal, or beaconmay be a signal having a frequency and/or power level that will causestrong reflections off of endpoints 218 ₁, 218 ₂, 218 ₃, 222 ₁, 222 ₂,or 222 ₃. The distance may be determined by measuring the time it takesfor a reflection of the training signal, special signal, or beacon totravel to each endpoint and back to location unit 206. When calculatingthe distance, path loss models for powerlines, copper, wires,connectors, junction boxes, switches, or outlets may be taken underconsideration by location unit 206. The various distances may be used tobuild a rough model of building 201.

Object device 202 moves to room 1 and receives at least signals 220 ₁,220 ₂, or 220 ₃ from endpoints 218 ₁, 218 ₂, or 218 ₃ transmitted bylocation unit 206, respectively. Endpoints 218 ₁, 218 ₂, or 218 ₃ may bespecial or ordinary electrical outlets, switches, or fixtures capable oftransmitting signals. For instance, an ordinary electrical outlet cantransmit signals since it has electrical contacts exposed to air thatmay act as antennas to transmit signals in a wide frequency range.Signals 220 ₁, 220 ₂, or 220 ₃ may be a radio frequency signal, awireless ultrasound signal, or wireless ultrasonic signal that isconfigured to avoid noise and interference from other devices. This maybe achieved by using spread spectrum.

Signals 220 ₁, 220 ₂, or 220 ₃ may be modulated using amplitude shiftkeying (ASK), frequency shift keying (FSK), binary phase shift keying(BPSK), quadrature shift keying (QPSK), quadrature amplitude modulation(QAM), code division multiple access (CDMA), orthogonal frequencydivision modulation (OFDM), or the like. As an example, so that objectdevice 202 does not need special transceiver circuitry, radio frequencysignal may be unused bit space in an 802.11x, Wi-Fi, or any otherstandard based message.

Object device 202 determines it is indoors by receiving any one ofsignals 220 ₁, 220 ₂, or 220 ₃. Once in room 1, object device 202determines its location or position within room 1 by receiving signals220 ₁, 220 ₂, or 220 ₃ to calculate or estimate distances x₁, x₂, or x₃within a few inches or feet. So that object device 202 has awareness ofwhat room it is in within building 201, object device 202 determines itsseparation from location unit 206 from the signal strength of signals220 ₁, 220 ₂, or 220 ₃. The specific room within building 201 may bedetermined by comparing calculated or estimated distance z₁ to buildinglayout or model information stored in storage device 110.

Moreover, object device 202 may determine its location or position inroom 1 by any combination of time of arrival (TOA), triangulation,trilateration, multilateration, time difference of arrival (TDOA),Enhanced Observed Time Difference (E-OTD), or time of flightcalculations or estimations using at least one of signals 220 ₁, 220 ₂,or 220 ₃. The location or position may be GNSS or GPS like longitude orlatitude values.

Once object device 202 determines its location or position within room1, it can be tracked and map its movement on object device 202, remotelyon a server, the Internet, or another device on the Internet. Whenmoving into room 2, object device 202 receives signals 224 ₁, 224 ₂, or224 ₃ from endpoints 222 ₁, 222 ₂, or 222 ₃ transmitted by location unit206 to calculate or estimate distances y₁, y₂, or y₃ within a few inchesor feet. In order to differentiate rooms, signals 220 ₁, 220 ₂, or 220 ₃may be different from signals 224 ₁, 224 ₂, or 224 ₃. So that objectdevice 202 has awareness of what room it is in within building 201,object device 202 determines its separation from location unit 206 fromthe signal strength of signals 224 ₁, 224 ₂, or 224 ₃. The specific roomis determined by comparing calculated or estimated distance z₂ tobuilding layout or model information stored in storage device 110.

If object device 202 is unable to determine its room location withinbuilding 201, it may compare distances z₂ to z₁ for assistanceinformation. For instance, in this example since z₂<z₁ object device 202may be able to determine its location by having two data points tocompare to building layout or model information.

Object device 202 may also use recent outdoor location information, suchas by Global Navigation Satellite Systems (GNSS), GALILEO, or GPS, suchas to estimate what side of the building it is located to further narrowits location search within building 201 and reduce the possible locationpositions when comparing it to building layout or model information. Thelast known altitude reading of object device 202 may also assist it indetermining what floor in building 201 it is on. Object device's 202speed and bearing from outdoor location services may also be provided asassistance data for tracking indoors. Moreover, if an exact roomlocation cannot be determined, object device 202 may calculate, provide,and/or display on one or more display devices 122 a probability thatit's in a certain room.

Moreover, object device 202 may be able to detect its speed anddirection of motion within room 1 by determining the rate of change ofvalues x₁, x₂, or x₃. This may help in determining or expecting the nextlocation or position of object device 202.

Object device 202 may also use a specialized GNSS or GPS high sensitivereceiver configured to receive outdoor GNSS or GPS signals indoors asassistance information for determining its room location or locationwithin a room in building 201. Moreover, building 201 may have a GNSS orGPS repeater that repeats received outdoor GNSS or GPS signals indoors.This may also be used by object device 202 as assistance information todetermine its room location or location within a room in building 201.

Another example of assistance data is using a camera on object device202 to identify objects or characteristics unique to room 1 or 2.Identified objects or characteristics unique to room 1 or 2 are comparedto stored objects previously identified for room 1 or 2 in a database instorage device 110 or at least one or more servers 212. Object device202 may wirelessly communicate with at least one or more servers 212over communication link 214 to access the database. Assistanceinformation is especially helpful when in a building where location unit206 is centrally located to all rooms.

Another example of assistance data may be having a RFID reader in objectdevice 202 to read radio frequency identification (RFID) tags nearelevator doors on every floor of building 201 to identify the floorobject device 202 gets on or off. An elevator may also have a beacon ortransmitter that identifies each floor by transmitting a signal that canbe detected by object device 202. In addition, a floor identificationdevice may also use Wi-Fi, Bluetooth, a femtocell, or a picocell on theelevator to communicate floor information to object device 202.

Another example of assistance data is using a laser transceiver or otherlight sensitive devices to determine the distance or range to any wallsor ceiling. This may be used sparingly or for initial calibration inorder to not bother the user or other people in building 201.

An accelerometer, gyroscope, or e-compass in object device 202 may beused for determining orientation before performing any measurements todetermine position within room 1. Orientation may be used to determineif object device 202 is upright or upside down and the direction theuser is facing within room 1. Orientation may be useful in position orlocation calculations.

Once an initial position and room location is determined for objectdevice 202, an accelerometer, gyroscope, or e-compass in object device202 may also be used to estimate inertia or motion in order to estimateits next location. This data may be used when moving from room 1 to 2 asassistance data. Inertial data may also be used for faster calculations.For instance, if object device 202 is moving in a certain direction d₁and d′₁ may have values moving in opposite directions, i.e. oneincreases while the other decreases. Using direction detection, objectdevice 202 will know which value should be increasing or decreasing.

FIG. 3 is a process for detecting, locating, positioning, or tracking anobject device indoors using powerlines. Location of circuit breaker,junction box, or outlet is initialized into a location unit (302). Thelocation unit may fingerprint or maps out a building by sending atraining signal over powerlines from circuit breaker, junction box, oroutlet (304). Object device may acquire location of a circuit breaker,junction box, or outlet having the location unit before entering thebuilding and acquire building layout over a wireless data link (306).Object device moves to room 1 (308).

Location unit transmits different signals over powerlines for each room(310). Object device measures strength of multiple signals received fromendpoints, such as electrical outlets, in room 1 to determine itslocation in room 1 and the distance from circuit breaker, junction box,or electrical outlet having the location unit (312). Object device usesdistance, building layout, or position of the circuit breaker, junctionbox, or outlet having the location unit to determine what room it is inwithin a building (314). Object device may determine what other objectsare in room 1 by movement of the object device over time (316). Thedetermined objects in the room may be tracked and stored in a databasein the object device or server on the Internet.

FIG. 4 is a diagram of detecting, locating, positioning, or tracking anobject device indoors or in a conveyance using emitted or transmittedsignals. Object device 402, which may be configured with at least someof the circuitry described in FIG. 1, may initially be outside orexterior to building 401. Object device 402 may determine its outdoorlocation or position by communicating over link 408 and network 410 withpositioning or location device 406. Network 410 may include bothwireless and wired networks. Outdoor location or position may bedetermined using a Global Navigation Satellite System (GNSS), Galileo,GPS, assisted GPS (A-GPS), cell identification (CELL ID), cellular basestation based, delay for reflection, delay of arrival, time of arrival(TOA), triangulation, forward link triangulation (AFLT), trilateration,multilateration, time difference of arrival (TDOA), enhanced observedtime difference (E-OTD), uplink TDOA (U-TDOA), time of flightcalculations or estimations, Wi-Fi based, or the like. Any of theexamples of outdoor location or position determination may determine anobject device's coordinates, such as longitudinal or latitudinal values.

Once the outdoor location or position of object device 402 isdetermined, information about buildings in the vicinity, such as on thesame block or neighborhood, of object device 402 may be retrieved fromstorage device 110. If information about buildings in the vicinity ofobject device 402 is not stored in storage device 110, object device 402may communicate over network 410 to retrieve information about thebuildings in the vicinity of object device 402 from at least one or moreservers 414. At least one or more servers 414 may be collocated ordistributed over multiple locations in a computer network, such as theInternet.

Information about building 401 may include the number floors, the numberof rooms, architectural plans, architectural schematics, 3D (e.g. width,length, height) room dimensions, 3D estimated room dimensions, 2D (e.g.width, length) room dimensions, 2D estimated room dimensions, roomvolumes, space volumes, room areas, space areas, simple room layouts(e.g., width and length), room geometry, floorplans, building models,site plans, site surveys, or the like. Building 401 may be an abode,apartment, house, mall, warehouse, commercial building, office, cabin,condo, condominium, domicile, dormitory, dwelling, hospital, house,residence, shelter, enclosure, or the like.

One such building in the vicinity of object device 402 may be building401 having rooms 1 and 2. Having information about building 401, objectdevice 402 enters room 1 and emits or transmits at least signals 416 ₁,418 ₁, or 420 ₁. Signals 416 ₁, 418 ₁, or 420 ₁ may be one of acombination of ultrasound, ultrasonic, non-audible to humans sound, nearvisible light, infrared, bluetooth, Wi-Fi, 802.11x, radio frequency,especially low frequencies, or the like that may provide accuracy of afew inches to a few feet. Near visible light may be emitted ortransmitted by object device 402 using a near visible light transceiver.Object device 402 may adaptively change the signal type of signals 416₁, 418 ₁, or 420 ₁ depending on the radio or acoustic characteristics ofrooms 1 or 2.

Signals 416 ₁, 418 ₁, or 420 ₁ may be configured to avoid noise andinterference from other devices. This may be achieved by using spreadspectrum. Moreover, signals 416 ₁, 418 ₁, or 420 ₁ are different anduncorrelated enough such that object device 402 may separate reflectionsignals of 416 ₁, 418 ₁, or 420 ₁. Signals 416 ₁, 418 ₁, or 420 ₁ may betransmitted omnidirectionally or directionally, as desired.

In the case for ultrasound or an acoustic signal, object device 402 mayinclude a speaker and microphone configured to accurately detect thereflection of transmitted signals, such as ultrasound. This may beadvantageous since most current devices include a speaker and microphoneand may simply need a software upgrade or an application to be able todetect reflections off walls for transmitted signals to determine orestimate at least one of distances or lengths d₁, d′₁, d₂, d′₂, d₃, ord′₃.

In order to determine or estimate at least one of distances or lengthsd₁, d′₁, d₂, d′₂, d₃, or d′₃, object device 402 may determine the timeit takes for reflection signals 416 ₂, 418 ₂, or 420 ₂ to bounce off oneor more walls, ceilings, floors, or objects in room 1 and be detected byobject device 402. Reflection signals 416 ₂, 418 ₂, or 420 ₂ correspondto signals 416 ₁, 418 ₁, or 420 ₁, respectively, and may be detectedusing a correlation or matching algorithm. If enough distances orlengths are determined volume may be determined for room 1. Objectdevice 402 may have to repeat emitting or transmitting signals 416 ₁,418 ₁, or 420 ₁ until at least one of distances or lengths d₁, d′₁, d₂,d′₂, d₃, or d′₃ is determined.

Object device 402 may determine the location of windows in room 1 if oneof reflection signals 416 ₂, 418 ₂, or 420 ₂ is received but the othersare not or are very weak. Object device 402 may then transmit anothersignal in the direction where the reflection signal was not received oris very weak to see if the results are similar. By repeating thisprocess, the location of windows and/or their dimensions may bedetermined. This can be combined with estimated or calculated roomdimension information to identify a room in building 401 and thus object402's room location in building 401.

When determining time of flight, object device may differentiate betweenmultipath, undesired echoes, or Doppler shifts of reflections signals416 ₂, 418 ₂, or 420 ₂ by searching for the strongest reflections anddampening the weak reflections. Moreover, prior to transmitting signals416 ₁, 418 ₁, or 420 ₁ object device 402 may use a special beacon toidentify or model radio characteristics of the room and measuretemperature and air pressure, which especially affect ultrasoundtransmissions.

At least two of distances or lengths d₁, d′₁, d₂, d′₂, d₃, or d′₃ may beused to compare to building information to determine or identify thatobject device 402 is inside/indoors and/or in room 1. For instance, room1 may have special dimensions unique from room 2. Dimensions may includewidth, length, height, depth, etc. In addition to dimensions, room 1 mayhave certain area, volume, or layout characteristics that can be used todetermine that object device 402 is in fact in room 1. If an exact matchis not found, object device 402 may determine and display on one or moredisplay devices 122 the closest match.

If no reasonable match is found after a first try or the dimensions donot make sense, signals 416 ₁, 418 ₁, or 420 ₁ may be emitted ortransmitted to sweep, size, or trace room 1 again. If no reasonablematch is found, object device 402 or a networked server may calculate orestimate a probability that it is in a certain room in building 401 anddisplay it on one or more display devices 122. It may then increase theprobability by using prior location information, location informationfrom a network, or stored building information to increase theprobability of room location.

Once a room location within building 401 is determined, or even if thesearch did not find any matches, object device 402 may use at least twoof distances or lengths d₁, d′₁, d₂, d′₂, d₃, or d′₃ to determine whereit is located within room 1 and subsequently track its motion withinroom 1. In another embodiment, object device 402 may generate a custommap on the fly or dynamically of the interior of building 401 as itmoves from room to room using distances or lengths d₁, d′₁, d₂, d′₂, d₃,or d′₃ for each room, hallway, etc. This information may be stored instorage device 110 for future use.

Knowing the room location or position of object device 402 in building401 and/or its location or position in room 1, object device 402 may betracked remotely by a server, on the Internet by a user, or by anotherdevice on the Internet. Tracking by another user provides numerouspossibilities for social networking, gaming, workforce management, etc.

In another embodiment, object device 402 may already know its outdoorlocation, have building information for building 401, and be located inbuilding 401. Object device 402 may then locate and track itself indoorsusing any of the embodiments given above.

In another embodiment, object device 402 may detect that it's in aconveyance, such as an automobile, airplane, bus, train, etc. . . . .Object 402 determines that it's in a conveyance based on calculated orestimated distances or lengths d₁, d′₁, d₂, d′₂, d₃, or d′₃. When objectdevice 402 detects that it is in a conveyance it can prepare navigationand other useful applications for a user in anticipation. In addition,determining when object device 402 is in a conveyance may be helpful foremergency services.

In another embodiment, object device 402 may find other object devicesnearby by detecting signals from other object devices and determine thedistance to the other object devices, such as by using ultrasoundsignals.

Assistant data may be used by object device 402 in the case that toomany matches of rooms are made, such as when building 401 has many roomsof similar layout. For instance, object device 402 may use recentoutdoor location information, such as by GNSS or GPS, such as toestimate what side of the building it is located to further narrow itslocation within building 401 and reduce the possible location positionswhen comparing it to building layout or model information. The lastknown altitude reading of object device 402 may also assist it indetermining what floor in building 401 it is on. Object device's 402speed and bearing from outdoor location services may also be provided asassistance data for tracking indoors. Moreover, if an exact roomlocation cannot be determined, object device 402 may calculate, provide,and/or display on one or more display devices 122 a probability thatit's in a certain room.

Object device 402 may also use a specialized GNSS or GPS high sensitivereceiver configured to receive outdoor GNSS or GPS signals indoors asassistance information for determining its room location or locationwithin a room in building 401. Moreover, building 401 may have a GNSS orGPS repeater that repeats received outdoor GNSS or GPS signals indoors.This may also be used by object device 402 as assistance information todetermine its room location or location within a room in building 401.

Another example of assistance data is using a camera on object device402 to identify objects or characteristics unique to room 1 or 2.Identified objects or characteristics unique to room 1 or 2 are comparedto stored objects previously identified for room 1 or 2 in a database instorage device 110 or at least one or more servers 414. Object device402 may wirelessly communicate with at least one or more servers 414 toaccess the database.

Another example of assistance data may be having an RFID reader inobject device 402 to read RFID tags near elevator doors on every floorof building 401 to identify the floor object device 402 gets on or off.An elevator may also have a beacon or transmitter that identifies eachfloor by transmitting a signal that can be detected by object device402. In addition, a floor identification device may also use Wi-Fi,Bluetooth, a femtocell, or a picocell on the elevator to communicatefloor information to object device 402.

Moreover, when inside a building object device 402 may determine whatfloor it is on by detecting or determining that it is on an elevator andby measuring the time spent riding the elevator. Object device 402 maydetermine that it is in an elevator by noticing that the dimensions ofthe space are similar to an elevator.

If object device 402 determines with low probability what it is in, itmay use prior location information, location information from a network,or stored building information to increase its probability.

Another example of assistance data is using a laser transceiver or otherlight sensitive devices to determine the distance or range to any wallsor ceiling. This may be used sparingly or for initial calibration inorder to not bother the user or other people in the building 401.

An accelerometer, gyroscope, or e-compass in object device 402 may beused for determining orientation before performing any measurements todetermine distances, lengths, or position within room 1. Orientation maybe used to determine if object device 402 is upright or upside down andthe direction the user is facing within room 1. Orientation may beuseful in position or location calculations since it can be used todetermine if one of calculated dimensions d₁, d′₁, d₂, d′₂, d₃, or d′₃corresponds to the height, length, or width of room 1 or 2.

Once an initial position and room location is determined for objectdevice 402, an accelerometer, gyroscope, or e-compass in object device402 may also be used to estimate inertia or motion in order to estimateits next location. This data may be used when moving from room 1 to 2 asassistance data. Inertial data may also be used for faster calculations.For instance, if object device 402 is moving in a certain direction d₁and d′₁ may have values moving in opposite directions, i.e. oneincreases while the other decreases. Using direction detection, objectdevice 202 will know which value should be increasing or decreasing.

Moreover, object device 402 may be able to detect its speed anddirection of motion within room 1 by determining how quickly it isapproaching a certain wall, floor, or ceiling based on when reflectionsignals 416 ₂, 418 ₂, or 420 ₂ are received by object device 402. Objectdevice 402 may also determine its speed and direction of motion withinroom 1 based on the rate of change of at least one of values d₁, d′₁,d₂, d′₂, d₃, or d′₃. This may help in determining or expecting the nextlocation or position of object device 402.

Object device 402 may also emit signals 416 ₁, 418 ₁, or 420 ₁ to detectmotion of another object. For instance signals 416 ₁, 418 ₁, or 420 ₁may be ultrasonic or acoustic transmissions accurate to less than a footthat detect the motion of a victim in a burning building by a fireman.Signals 416 ₁, 418 ₁, or 420 ₁ may also be infrared transmitted by amobile telephone, which is particularly useful since many phonescurrently have infrared sensors and may require only a software upgradeor application download to use the infrared sensor as a motion detectiondevice.

In the indoor positioning systems (IPS) or indoor location services(iLS) provided herein, object device 202 or 402 may also determinewhether it's outside. For example, object device 202 may know that it isoutside by not detecting at least one of signals 220 ₁, 220 ₂, 220 ₃,224 ₁, 224 ₂, or 224 ₃. Object device 402 may know that it is outside bynot detecting any strong reflection signals 416 ₂, 418 ₂, or 420 ₂.Detecting that object device 202 or 402 is outside can be combined withoutdoor location, such as GNSS or cell network based outdoorpositioning, for a more exact outdoor location or position.

Moreover, determining when object device 202 or 402 exits a particularbuilding can be combined with outdoor location, such as determined byGNSS, GPS, or cell network based outdoor positioning, for a more exactoutdoor position or location. Outdoor positioning in combination withindoor positioning may be helpful in providing door-to-door turn-by-turndirections for a user of object device 202 or 402. For instance, objectdevice 202 or 402 helps direct a user outside the building using theindoor positioning system then provide driving directions for the userto get home using the outdoor positing system or vice-versa.

When determining indoor or outdoor positioning, object device 202 or 402may handle all the calculations of measurements or locationdetermination, provide measurements to a networked computer forcalculations or location determination, or a combination of both.Reducing the calculation load or processing on object device 202 or 402may reduce battery consumption and increase accuracy and speed byleveraging greater processing power of a networked computer.

Object device 202 or 402, which may be combined, may use its determinedlocation or position for context awareness computing, gaming, mobilemarketing, 3D maps, 2D maps, social networking, business networking,text messaging, email, context awareness applications, augmented realitygaming, a real life first person shooting game, locating a lost phoneonline, fantasy gaming, virtual world gaming such as Secondlife™, roomlight and mood controls, real life interactive board games, childrengames, role playing games, hide and seek game for children, findingmissing objects, determine when object device 202 or 402 is missing froma room, elderly people tracking, children monitoring and tracking in ahouse, employee tracking, law enforcement, mobile applications, walkingdirections, friend finders, security alerts, geocaching, geo-tagging,travel recommendations, indoor sports, tracking, monitoring, mobilecommerce, military combat, or the like.

In the case of needed emergency care, object device 202 or 402 may beactivated remotely by 911 personal or any other user with securitypermissions in order to determine its position or location indoors or todetermine that it is outdoors. Moreover, a fire fighter with objectdevice 202 or 402 may be able to navigate through a smoke filled or darkbuilding and find other object devices. Similarly, an object device 202or 402 with voice turn-by-turn directions may assist a blind person withnavigating through a building.

Object device 202 or 402 may send or receive a text or multimediamessage dependent on its room location. This may be useful for mobileadvertising, just in time notifications, or the like.

For augmented reality gaming, a first user may use object device 402 asa virtual weapon to combat a second user having another object device402 as a virtual weapon. As the first user walks in a building they maysee a virtual augmented world on one or more display devices 122 inobject device 402. Virtual objects may be placed, superimposed, ortransposed on the foreground or background of the inside or outside ofthe building displayed on one or more display devices 122, or remotely,using one or more cameras on object device 402. The room location andindoor tracking is used to provide the first and second users directionsto each other for combat. Once they find each other, object devices maybe superimposed with graphics to look like virtual weapons when viewedthrough one or more display devices 122 using one or more cameras onobject device 402. Alternatively, the indoor location and tracking maybe used to guide users to virtual treasures in a building. Object device202 or 402 and any of the features herein may be integrated into eyeglasses or sun glasses.

As an example of context awareness, object device 202 or 402's mostcommon visits or time in a room may be used to provide extra heating orcooling or trigger another context driven reaction. Moreover, a user ofobject device 202 or 402 may avoid a room that is occupied when viewingthe location of other object devices in a building on one or moredisplay devices 122. In addition, object device 202 or 402 may show theroom locations of other users having object devices in a contact list oraddress book especially if they are nearby.

Still referring to context awareness, after identifying a room objectdevice 202 or 402 may display or run applications used in that room oreven a position in the room. For instance, object device 202 or 402 maydisplay or run a news application when the user is in bed if it is anapplication commonly used in bed. Usage information of applications 202or 402 may be stored in storage device 110.

FIG. 5 is a process 500 for detecting, locating, positioning, ortracking an object device indoors using emitted or transmitted signals.In process 500, an outdoor location is determined for or by an objectdevice (502). The object device may be located indoors when acquiringits outdoor location. Based on in part the outdoor location, the objectdevice receives over a network or retrieves from its storage devicebuilding information for at least one nearby building (504). Examples ofbuilding information are provided above. Object device transmits signalsto determine at least the width or length of the room it is located in(506). Types of signals that may be emitted or transmitted are providedabove.

The object device or a server on a network compares at least determinedwidth or length against received or retrieved room layout information inthe building information to determine location or position in thebuilding (508). Object device can then have its position of locationtracked over time in the room and/or between rooms (510). A database ofrooms and layouts may be built in the object device or a server in thenetwork as dimensions are estimated.

Although features and elements are described above in particularcombinations, each feature or element can be used alone without theother features and elements or in various combinations with or withoutother features and elements. The methods, processes, or flow chartsprovided herein may be implemented in a computer program, software, orfirmware incorporated in a computer-readable storage medium forexecution by a general purpose computer or a processor. Examples ofcomputer-readable storage mediums include a read only memory (ROM), arandom access memory (RAM), a register, cache memory, semiconductormemory devices, magnetic media such as internal hard disks and removabledisks, magneto-optical media, and optical media such as CD-ROM disks,digital versatile disks (DVDs), and BluRay discs.

Suitable processors include, by way of example, a general purposeprocessor, a special purpose processor, a conventional processor, adigital signal processor (DSP), a plurality of microprocessors, one ormore microprocessors in association with a DSP core, a controller, amicrocontroller, Application Specific Integrated Circuits (ASICs), FieldProgrammable Gate Arrays (FPGAs) circuits, any other type of integratedcircuit (IC), and/or a state machine.

A processor in association with software may be used to implementhardware functions for use in a computer, wireless transmit receive unit(WTRU) or any host computer. The programmed hardware functions may beused in conjunction with modules, implemented in hardware and/orsoftware, such as a camera, a video camera module, a videophone, aspeakerphone, a vibration device, a speaker, a microphone, a televisiontransceiver, a hands free headset, a keyboard, a Bluetooth® module, afrequency modulated (FM) radio unit, a liquid crystal display (LCD)display unit, an organic light-emitting diode (OLED) display unit, adigital music player, a media player, a video game player module, anInternet browser, and/or any wireless local area network (WLAN) or UltraWide Band (UWB) module.

What is claimed is:
 1. A mobile computer comprising: a processor, of themobile computer, configured to determine whether the mobile computer islocated in a vehicle or a conveyance based on a measured distance fromthe mobile computer to a fixed part of the vehicle or the conveyance andsatellite related positioning information; and a transceiver configuredto receive a notification related to an advertisement, wherein thenotification is received based on the determination.
 2. The mobilecomputer of claim 1 further comprising: the processor further configuredto analyze gyroscope related data to determine an orientation of themobile computer.
 3. A method comprising: determining, by a mobilecomputer, whether the mobile computer is located in a vehicle or aconveyance based on a measured distance from the mobile computer to afixed part of the vehicle or the conveyance and satellite relatedpositioning information; and receiving, by the mobile computer, anotification related to an advertisement, wherein the notification isreceived based on the determination.
 4. The method of claim 3 furthercomprising: analyzing, by the mobile computer, gyroscope related data todetermine an orientation of the mobile computer.